<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>terminal_interface-curses-menus.ads</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
*.comment {
	color: green;
}
*.symbol {
	color: red;
}
</style>
</head>
<body>
<hr><div style="text-align:center"><h1> File : terminal_interface-curses-menus.ads </h1></div><hr>
<pre>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>--                           <strong>GNAT</strong> ncurses Binding                           --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>--                      Terminal_Interface.Curses.Menu                      --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>--                                 S P E C                                  --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<span class="comment"><em>-- Copyright 2020 Thomas E. Dickey                                          --</em></span>
<span class="comment"><em>-- Copyright 1998-2009,2014 Free Software Foundation, Inc.                  --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>-- Permission is hereby granted, free of charge, to any person obtaining a  --</em></span>
<span class="comment"><em>-- copy of this software and associated documentation files (the            --</em></span>
<span class="comment"><em>-- "Software"), to deal in the Software without restriction, including      --</em></span>
<span class="comment"><em>-- without limitation the rights to use, copy, modify, merge, publish,      --</em></span>
<span class="comment"><em>-- distribute, distribute with modifications, sublicense, and/or sell       --</em></span>
<span class="comment"><em>-- copies of the Software, and to permit persons to whom the Software is    --</em></span>
<span class="comment"><em>-- furnished to do so, subject to the following conditions:                 --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>-- The above copyright notice and this permission notice shall be included  --</em></span>
<span class="comment"><em>-- in all copies or substantial portions of the Software.                   --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</em></span>
<span class="comment"><em>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</em></span>
<span class="comment"><em>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</em></span>
<span class="comment"><em>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</em></span>
<span class="comment"><em>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</em></span>
<span class="comment"><em>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</em></span>
<span class="comment"><em>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</em></span>
<span class="comment"><em>--                                                                          --</em></span>
<span class="comment"><em>-- Except as contained in this notice, the name(s) of the above copyright   --</em></span>
<span class="comment"><em>-- holders shall not be used in advertising or otherwise to promote the     --</em></span>
<span class="comment"><em>-- sale, use or other dealings in this Software without prior written       --</em></span>
<span class="comment"><em>-- authorization.                                                           --</em></span>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<span class="comment"><em>--  Author:  Juergen Pfeifer, 1996</em></span>
<span class="comment"><em>--  Version Control:</em></span>
<span class="comment"><em>--  @Revision: 1.32 @</em></span>
<span class="comment"><em>--  @Date: 2020/02/02 23:34:34 @</em></span>
<span class="comment"><em>--  Binding Version 01.00</em></span>
<span class="comment"><em>------------------------------------------------------------------------------</em></span>
<b>with</b> System;
<b>with</b> Ada.Characters.Latin_1;

<b>package</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<span class="symbol"><a name="ref_46_35" href="terminal_interface-curses-menus__adb.htm#ref_50_40">Menus</a></span> <b>is</b>
   <b>pragma</b> Preelaborate (<a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>);
   <b>pragma</b> Linker_Options ("-lmenu" &amp; <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_9_4">DFT_ARG_SUFFIX</a>);

   Space : Character <b>renames</b> Ada.Characters.Latin_1.Space;

   <b>type</b> <span class="symbol"><a name="ref_52_9">Item</a></span> <b>is</b> <b>private</b>;
   <b>type</b> <span class="symbol"><a name="ref_53_9">Menu</a></span> <b>is</b> <b>private</b>;

   <span class="comment"><em>---------------------------</em></span>
   <span class="comment"><em>--  Interface constants  --</em></span>
   <span class="comment"><em>---------------------------</em></span>
   <span class="symbol"><a name="ref_58_4">Null_Item</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
   <span class="symbol"><a name="ref_59_4">Null_Menu</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;

   <b>subtype</b> <span class="symbol"><a name="ref_61_12">Menu_Request_Code</a></span> <b>is</b> <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>
     <b>range</b> (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1) .. (<a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17);

   <span class="comment"><em>--  The prefix M_ stands for "Menu Request"</em></span>
   <span class="symbol"><a name="ref_65_4">M_Left_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 1;
   <span class="symbol"><a name="ref_66_4">M_Right_Item</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 2;
   <span class="symbol"><a name="ref_67_4">M_Up_Item</a></span>         : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 3;
   <span class="symbol"><a name="ref_68_4">M_Down_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 4;
   <span class="symbol"><a name="ref_69_4">M_ScrollUp_Line</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 5;
   <span class="symbol"><a name="ref_70_4">M_ScrollDown_Line</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 6;
   <span class="symbol"><a name="ref_71_4">M_ScrollDown_Page</a></span> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 7;
   <span class="symbol"><a name="ref_72_4">M_ScrollUp_Page</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 8;
   <span class="symbol"><a name="ref_73_4">M_First_Item</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 9;
   <span class="symbol"><a name="ref_74_4">M_Last_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 10;
   <span class="symbol"><a name="ref_75_4">M_Next_Item</a></span>       : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 11;
   <span class="symbol"><a name="ref_76_4">M_Previous_Item</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 12;
   <span class="symbol"><a name="ref_77_4">M_Toggle_Item</a></span>     : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 13;
   <span class="symbol"><a name="ref_78_4">M_Clear_Pattern</a></span>   : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 14;
   <span class="symbol"><a name="ref_79_4">M_Back_Pattern</a></span>    : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 15;
   <span class="symbol"><a name="ref_80_4">M_Next_Match</a></span>      : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 16;
   <span class="symbol"><a name="ref_81_4">M_Previous_Match</a></span>  : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> := <a href="terminal_interface-curses__ads.htm#ref_380_4">Key_Max</a> + 17;

   <span class="comment"><em>--  For those who like the old 'C' names for the request codes</em></span>
   REQ_LEFT_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_65_4">M_Left_Item</a>;
   REQ_RIGHT_ITEM    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_66_4">M_Right_Item</a>;
   REQ_UP_ITEM       : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_67_4">M_Up_Item</a>;
   REQ_DOWN_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_68_4">M_Down_Item</a>;
   REQ_SCR_ULINE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_69_4">M_ScrollUp_Line</a>;
   REQ_SCR_DLINE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_70_4">M_ScrollDown_Line</a>;
   REQ_SCR_DPAGE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_71_4">M_ScrollDown_Page</a>;
   REQ_SCR_UPAGE     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_72_4">M_ScrollUp_Page</a>;
   REQ_FIRST_ITEM    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_73_4">M_First_Item</a>;
   REQ_LAST_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_74_4">M_Last_Item</a>;
   REQ_NEXT_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_75_4">M_Next_Item</a>;
   REQ_PREV_ITEM     : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_76_4">M_Previous_Item</a>;
   REQ_TOGGLE_ITEM   : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_77_4">M_Toggle_Item</a>;
   REQ_CLEAR_PATTERN : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_78_4">M_Clear_Pattern</a>;
   REQ_BACK_PATTERN  : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_79_4">M_Back_Pattern</a>;
   REQ_NEXT_MATCH    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_80_4">M_Next_Match</a>;
   REQ_PREV_MATCH    : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_81_4">M_Previous_Match</a>;

   <b>procedure</b> <span class="symbol"><a name="ref_102_14" href="terminal_interface-curses-menus__adb.htm#ref_59_14">Request_Name</a></span> (<span class="symbol"><a name="ref_102_28" href="terminal_interface-curses-menus__adb.htm#ref_59_28">Key</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>;
                           <span class="symbol"><a name="ref_103_28" href="terminal_interface-curses-menus__adb.htm#ref_60_28">Name</a></span> : <b>out</b> String);

   <b>function</b>  <span class="symbol"><a name="ref_105_14" href="terminal_interface-curses-menus__adb.htm#ref_68_13">Request_Name</a></span> (<span class="symbol"><a name="ref_105_28" href="terminal_interface-curses-menus__adb.htm#ref_68_27">Key</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_61_12">Menu_Request_Code</a>) <b>return</b> String;
   <span class="comment"><em>--  Same as function</em></span>

   <span class="comment"><em>------------------</em></span>
   <span class="comment"><em>--  Exceptions  --</em></span>
   <span class="comment"><em>------------------</em></span>

   <span class="symbol"><a name="ref_112_4">Menu_Exception</a></span> : <b>exception</b>;
   <span class="comment"><em>--</em></span>
   <span class="comment"><em>--  Menu options</em></span>
   <span class="comment"><em>--</em></span>
   <b>type</b> <span class="symbol"><a name="ref_116_9">Menu_Option_Set</a></span> <b>is</b>
      <b>record</b>
         <span class="symbol"><a name="ref_118_10">One_Valued</a></span>        : Boolean;
         <span class="symbol"><a name="ref_119_10">Show_Descriptions</a></span> : Boolean;
         <span class="symbol"><a name="ref_120_10">Row_Major_Order</a></span>   : Boolean;
         <span class="symbol"><a name="ref_121_10">Ignore_Case</a></span>       : Boolean;
         <span class="symbol"><a name="ref_122_10">Show_Matches</a></span>      : Boolean;
         <span class="symbol"><a name="ref_123_10">Non_Cyclic</a></span>        : Boolean;
      <b>end</b> <b>record</b>;
   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);

   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a> <b>use</b>
      <b>record</b>
         <a href="terminal_interface-curses-menus__ads.htm#ref_118_10">One_Valued</a>        <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_257_4">O_ONEVALUE_First</a>
           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_258_4">O_ONEVALUE_Last</a>;
         <a href="terminal_interface-curses-menus__ads.htm#ref_119_10">Show_Descriptions</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_259_4">O_SHOWDESC_First</a>
           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_260_4">O_SHOWDESC_Last</a>;
         <a href="terminal_interface-curses-menus__ads.htm#ref_120_10">Row_Major_Order</a>   <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_261_4">O_ROWMAJOR_First</a>
           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_262_4">O_ROWMAJOR_Last</a>;
         <a href="terminal_interface-curses-menus__ads.htm#ref_121_10">Ignore_Case</a>       <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_263_4">O_IGNORECASE_First</a>
           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_264_4">O_IGNORECASE_Last</a>;
         <a href="terminal_interface-curses-menus__ads.htm#ref_122_10">Show_Matches</a>      <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_265_4">O_SHOWMATCH_First</a>
           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_266_4">O_SHOWMATCH_Last</a>;
         <a href="terminal_interface-curses-menus__ads.htm#ref_123_10">Non_Cyclic</a>        <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_267_4">O_NONCYCLIC_First</a>
           .. <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_268_4">O_NONCYCLIC_Last</a>;
      <b>end</b> <b>record</b>;
   <b>pragma</b> Warnings (Off);
   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_269_4">Menu_Options_Size</a>;
   <b>pragma</b> Warnings (On);

   <b>function</b> <span class="symbol"><a name="ref_146_13" href="terminal_interface-curses-menus__adb.htm#ref_891_13">Default_Menu_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
   <span class="comment"><em>--  Initial default options for a menu.</em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_146_13">Default_Menu_Options</a>);
   <span class="comment"><em>--</em></span>
   <span class="comment"><em>--  Item options</em></span>
   <span class="comment"><em>--</em></span>
   <b>type</b> <span class="symbol"><a name="ref_152_9">Item_Option_Set</a></span> <b>is</b>
      <b>record</b>
         <span class="symbol"><a name="ref_154_10">Selectable</a></span> : Boolean;
      <b>end</b> <b>record</b>;
   <b>pragma</b> Convention (C_Pass_By_Copy, <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);

   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a> <b>use</b>
      <b>record</b>
         <a href="terminal_interface-curses-menus__ads.htm#ref_154_10">Selectable</a> <b>at</b> 0 <b>range</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_273_4">O_SELECTABLE_First</a>
           ..  <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_274_4">O_SELECTABLE_Last</a>;
      <b>end</b> <b>record</b>;
   <b>pragma</b> Warnings (Off);
   <b>for</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>'Size <b>use</b> <a href="terminal_interface-curses_constants__ads.htm#ref_6_28">Curses_Constants</a>.<a href="terminal_interface-curses_constants__ads.htm#ref_275_4">Item_Options_Size</a>;
   <b>pragma</b> Warnings (On);

   <b>function</b> <span class="symbol"><a name="ref_167_13" href="terminal_interface-curses-menus__adb.htm#ref_897_13">Default_Item_Options</a></span> <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
   <span class="comment"><em>--  Initial default options for an item.</em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_167_13">Default_Item_Options</a>);

   <span class="comment"><em>--</em></span>
   <span class="comment"><em>--  Item Array</em></span>
   <span class="comment"><em>--</em></span>
   <b>type</b> Item_Array <b>is</b> <b>array</b> (Positive <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
   <b>pragma</b> Convention (C, Item_Array);

   <b>type</b> <span class="symbol"><a name="ref_177_9">Item_Array_Access</a></span> <b>is</b> <b>access</b> Item_Array;

   <b>procedure</b> <span class="symbol"><a name="ref_179_14" href="terminal_interface-curses-menus__adb.htm#ref_874_14">Free</a></span> (<span class="symbol"><a name="ref_179_20" href="terminal_interface-curses-menus__adb.htm#ref_874_20">IA</a></span>         : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>;
                   <span class="symbol"><a name="ref_180_20" href="terminal_interface-curses-menus__adb.htm#ref_875_20">Free_Items</a></span> : Boolean := False);
   <span class="comment"><em>--  Release the memory for an allocated item array</em></span>
   <span class="comment"><em>--  If Free_Items is True, call Delete() for all the items in</em></span>
   <span class="comment"><em>--  the array.</em></span>

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_new.3x.html">mitem_new.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_1">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_190_13" href="terminal_interface-curses-menus__adb.htm#ref_76_13">Create</a></span> (<span class="symbol"><a name="ref_190_21" href="terminal_interface-curses-menus__adb.htm#ref_76_21">Name</a></span>        : String;
                    <span class="symbol"><a name="ref_191_21" href="terminal_interface-curses-menus__adb.htm#ref_77_21">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></em></span>
   <span class="comment"><em>--  Not inlined.</em></span>

   <span class="comment"><em>--  <A NAME="AFU_2">|</A></em></span>
   <b>function</b> New_Item (<span class="symbol"><a name="ref_196_23">Name</a></span>        : String;
                      <span class="symbol"><a name="ref_197_23">Description</a></span> : String := "") <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>
     <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_190_13">Create</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">new_item()</A></em></span>

   <span class="comment"><em>--  <A NAME="AFU_3">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_202_14" href="terminal_interface-curses-menus__adb.htm#ref_106_14">Delete</a></span> (<span class="symbol"><a name="ref_202_22" href="terminal_interface-curses-menus__adb.htm#ref_106_22">Itm</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_new.3x.html">free_item()</A></em></span>
   <span class="comment"><em>--  Resets Itm to Null_Item</em></span>

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_value.3x.html">mitem_value.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_4">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_211_14" href="terminal_interface-curses-menus__adb.htm#ref_130_14">Set_Value</a></span> (<span class="symbol"><a name="ref_211_25" href="terminal_interface-curses-menus__adb.htm#ref_130_25">Itm</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
                        <span class="symbol"><a name="ref_212_25" href="terminal_interface-curses-menus__adb.htm#ref_131_25">Value</a></span> : Boolean := True);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_value.3x.html">set_item_value()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_211_14">Set_Value</a>);

   <span class="comment"><em>--  <A NAME="AFU_5">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_217_13" href="terminal_interface-curses-menus__adb.htm#ref_141_13">Value</a></span> (<span class="symbol"><a name="ref_217_20" href="terminal_interface-curses-menus__adb.htm#ref_141_20">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_value.3x.html">item_value()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_217_13">Value</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_visible.3x.html">mitem_visible.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_6">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_226_13" href="terminal_interface-curses-menus__adb.htm#ref_154_13">Visible</a></span> (<span class="symbol"><a name="ref_226_22" href="terminal_interface-curses-menus__adb.htm#ref_154_22">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Boolean;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_visible.3x.html">item_visible()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_226_13">Visible</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_opts.3x.html">mitem_opts.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_7">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_235_14" href="terminal_interface-curses-menus__adb.htm#ref_166_14">Set_Options</a></span> (<span class="symbol"><a name="ref_235_27" href="terminal_interface-curses-menus__adb.htm#ref_166_27">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
                          <span class="symbol"><a name="ref_236_27" href="terminal_interface-curses-menus__adb.htm#ref_167_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">set_item_opts()</A></em></span>
   <span class="comment"><em>--  An overloaded Set_Options is defined later. Pragma Inline appears there</em></span>

   <span class="comment"><em>--  <A NAME="AFU_8">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_241_14" href="terminal_interface-curses-menus__adb.htm#ref_177_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_241_30" href="terminal_interface-curses-menus__adb.htm#ref_177_30">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
                             <span class="symbol"><a name="ref_242_30" href="terminal_interface-curses-menus__adb.htm#ref_178_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
                             <span class="symbol"><a name="ref_243_30" href="terminal_interface-curses-menus__adb.htm#ref_179_30">On</a></span>      : Boolean := True);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts_on()</A></em></span>
   <span class="comment"><em>--  AKA: item_opts_off()</em></span>
   <span class="comment"><em>--  An overloaded Switch_Options is defined later.</em></span>
   <span class="comment"><em>--  Pragma Inline appears there</em></span>

   <span class="comment"><em>--  <A NAME="AFU_9">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_250_14" href="terminal_interface-curses-menus__adb.htm#ref_196_14">Get_Options</a></span> (<span class="symbol"><a name="ref_250_27" href="terminal_interface-curses-menus__adb.htm#ref_196_27">Itm</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
                          <span class="symbol"><a name="ref_251_27" href="terminal_interface-curses-menus__adb.htm#ref_197_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></em></span>

   <span class="comment"><em>--  <A NAME="AFU_10">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_255_13" href="terminal_interface-curses-menus__adb.htm#ref_206_13">Get_Options</a></span> (<span class="symbol"><a name="ref_255_26" href="terminal_interface-curses-menus__adb.htm#ref_206_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_152_9">Item_Option_Set</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_opts.3x.html">item_opts()</A></em></span>
   <span class="comment"><em>--  An overloaded Get_Options is defined later. Pragma Inline appears there</em></span>

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_name.3x.html">mitem_name.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_11">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_264_14" href="terminal_interface-curses-menus__adb.htm#ref_214_14">Name</a></span> (<span class="symbol"><a name="ref_264_20" href="terminal_interface-curses-menus__adb.htm#ref_214_20">Itm</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
                   <span class="symbol"><a name="ref_265_20" href="terminal_interface-curses-menus__adb.htm#ref_215_20">Name</a></span> : <b>out</b> String);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></em></span>
   <b>function</b>  <span class="symbol"><a name="ref_267_14" href="terminal_interface-curses-menus__adb.htm#ref_223_13">Name</a></span> (<span class="symbol"><a name="ref_267_20" href="terminal_interface-curses-menus__adb.htm#ref_223_19">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_name()</A></em></span>
   <span class="comment"><em>--  Implemented as function</em></span>
   <b>pragma</b> Inline (Name);

   <span class="comment"><em>--  <A NAME="AFU_12">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_273_14" href="terminal_interface-curses-menus__adb.htm#ref_231_14">Description</a></span> (<span class="symbol"><a name="ref_273_27" href="terminal_interface-curses-menus__adb.htm#ref_231_27">Itm</a></span>         : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
                          <span class="symbol"><a name="ref_274_27" href="terminal_interface-curses-menus__adb.htm#ref_232_27">Description</a></span> : <b>out</b> String);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></em></span>

   <b>function</b>  <span class="symbol"><a name="ref_277_14" href="terminal_interface-curses-menus__adb.htm#ref_240_13">Description</a></span> (<span class="symbol"><a name="ref_277_27" href="terminal_interface-curses-menus__adb.htm#ref_240_26">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> String;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_name.3x.html">item_description();</A></em></span>
   <span class="comment"><em>--  Implemented as function</em></span>
   <b>pragma</b> Inline (Description);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/mitem_current.3x.html">mitem_current.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_13">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_287_14" href="terminal_interface-curses-menus__adb.htm#ref_248_14">Set_Current</a></span> (<span class="symbol"><a name="ref_287_27" href="terminal_interface-curses-menus__adb.htm#ref_248_27">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                          <span class="symbol"><a name="ref_288_27" href="terminal_interface-curses-menus__adb.htm#ref_249_27">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">set_current_item()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_287_14">Set_Current</a>);

   <span class="comment"><em>--  <A NAME="AFU_14">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_293_13" href="terminal_interface-curses-menus__adb.htm#ref_259_13">Current</a></span> (<span class="symbol"><a name="ref_293_22" href="terminal_interface-curses-menus__adb.htm#ref_259_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">current_item()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_293_13">Current</a>);

   <span class="comment"><em>--  <A NAME="AFU_15">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_298_14" href="terminal_interface-curses-menus__adb.htm#ref_272_14">Set_Top_Row</a></span> (<span class="symbol"><a name="ref_298_27" href="terminal_interface-curses-menus__adb.htm#ref_272_27">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                          <span class="symbol"><a name="ref_299_27" href="terminal_interface-curses-menus__adb.htm#ref_273_27">Line</a></span> : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">set_top_row()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_298_14">Set_Top_Row</a>);

   <span class="comment"><em>--  <A NAME="AFU_16">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_304_13" href="terminal_interface-curses-menus__adb.htm#ref_283_13">Top_Row</a></span> (<span class="symbol"><a name="ref_304_22" href="terminal_interface-curses-menus__adb.htm#ref_283_22">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">top_row()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_304_13">Top_Row</a>);

   <span class="comment"><em>--  <A NAME="AFU_17">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_309_13" href="terminal_interface-curses-menus__adb.htm#ref_296_13">Get_Index</a></span> (<span class="symbol"><a name="ref_309_24" href="terminal_interface-curses-menus__adb.htm#ref_296_24">Itm</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>) <b>return</b> Positive;
   <span class="comment"><em>--  AKA: <A HREF="../man/mitem_current.3x.html">item_index()</A></em></span>
   <span class="comment"><em>--  Please note that in this binding we start the numbering of items</em></span>
   <span class="comment"><em>--  with 1. So this is number is one more than you get from the low</em></span>
   <span class="comment"><em>--  level call.</em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_309_13">Get_Index</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_post.3x.html">menu_post.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_18">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_321_14" href="terminal_interface-curses-menus__adb.htm#ref_309_14">Post</a></span> (<span class="symbol"><a name="ref_321_20" href="terminal_interface-curses-menus__adb.htm#ref_309_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                   <span class="symbol"><a name="ref_322_20" href="terminal_interface-curses-menus__adb.htm#ref_310_20">Post</a></span> : Boolean := True);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_post.3x.html">post_menu()</A></em></span>
   <span class="comment"><em>--  AKA: unpost_menu()</em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_321_14">Post</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_opts.3x.html">menu_opts.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_19">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_332_14" href="terminal_interface-curses-menus__adb.htm#ref_325_14">Set_Options</a></span> (<span class="symbol"><a name="ref_332_27" href="terminal_interface-curses-menus__adb.htm#ref_325_27">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                          <span class="symbol"><a name="ref_333_27" href="terminal_interface-curses-menus__adb.htm#ref_326_27">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">set_menu_opts()</A></em></span>
   <b>pragma</b> Inline (Set_Options);

   <span class="comment"><em>--  <A NAME="AFU_20">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_338_14" href="terminal_interface-curses-menus__adb.htm#ref_336_14">Switch_Options</a></span> (<span class="symbol"><a name="ref_338_30" href="terminal_interface-curses-menus__adb.htm#ref_336_30">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                             <span class="symbol"><a name="ref_339_30" href="terminal_interface-curses-menus__adb.htm#ref_337_30">Options</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
                             <span class="symbol"><a name="ref_340_30" href="terminal_interface-curses-menus__adb.htm#ref_338_30">On</a></span>      : Boolean := True);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts_on()</A></em></span>
   <span class="comment"><em>--  AKA: menu_opts_off()</em></span>
   <b>pragma</b> Inline (Switch_Options);

   <span class="comment"><em>--  <A NAME="AFU_21">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_346_14" href="terminal_interface-curses-menus__adb.htm#ref_355_14">Get_Options</a></span> (<span class="symbol"><a name="ref_346_27" href="terminal_interface-curses-menus__adb.htm#ref_355_27">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                          <span class="symbol"><a name="ref_347_27" href="terminal_interface-curses-menus__adb.htm#ref_356_27">Options</a></span> : <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></em></span>

   <span class="comment"><em>--  <A NAME="AFU_22">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_351_13" href="terminal_interface-curses-menus__adb.htm#ref_365_13">Get_Options</a></span> (<span class="symbol"><a name="ref_351_26" href="terminal_interface-curses-menus__adb.htm#ref_365_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_116_9">Menu_Option_Set</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_opts.3x.html">menu_opts()</A></em></span>
   <b>pragma</b> Inline (Get_Options);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_win.3x.html">menu_win.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_23">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_360_14" href="terminal_interface-curses-menus__adb.htm#ref_373_14">Set_Window</a></span> (<span class="symbol"><a name="ref_360_26" href="terminal_interface-curses-menus__adb.htm#ref_373_26">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                         <span class="symbol"><a name="ref_361_26" href="terminal_interface-curses-menus__adb.htm#ref_374_26">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_win()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_360_14">Set_Window</a>);

   <span class="comment"><em>--  <A NAME="AFU_24">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_366_13" href="terminal_interface-curses-menus__adb.htm#ref_384_13">Get_Window</a></span> (<span class="symbol"><a name="ref_366_25" href="terminal_interface-curses-menus__adb.htm#ref_384_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">menu_win()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_366_13">Get_Window</a>);

   <span class="comment"><em>--  <A NAME="AFU_25">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_371_14" href="terminal_interface-curses-menus__adb.htm#ref_394_14">Set_Sub_Window</a></span> (<span class="symbol"><a name="ref_371_30" href="terminal_interface-curses-menus__adb.htm#ref_394_30">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                             <span class="symbol"><a name="ref_372_30" href="terminal_interface-curses-menus__adb.htm#ref_395_30">Win</a></span> : <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">set_menu_sub()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_371_14">Set_Sub_Window</a>);

   <span class="comment"><em>--  <A NAME="AFU_26">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_377_13" href="terminal_interface-curses-menus__adb.htm#ref_405_13">Get_Sub_Window</a></span> (<span class="symbol"><a name="ref_377_29" href="terminal_interface-curses-menus__adb.htm#ref_405_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses__ads.htm#ref_56_9">Window</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">menu_sub()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_377_13">Get_Sub_Window</a>);

   <span class="comment"><em>--  <A NAME="AFU_27">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_382_14" href="terminal_interface-curses-menus__adb.htm#ref_415_14">Scale</a></span> (<span class="symbol"><a name="ref_382_21" href="terminal_interface-curses-menus__adb.htm#ref_415_21">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                    <span class="symbol"><a name="ref_383_21" href="terminal_interface-curses-menus__adb.htm#ref_416_21">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
                    <span class="symbol"><a name="ref_384_21" href="terminal_interface-curses-menus__adb.htm#ref_417_21">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_win.3x.html">scale_menu()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_382_14">Scale</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_cursor.3x.html">menu_cursor.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_28">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_393_14" href="terminal_interface-curses-menus__adb.htm#ref_431_14">Position_Cursor</a></span> (<span class="symbol"><a name="ref_393_31" href="terminal_interface-curses-menus__adb.htm#ref_431_31">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_cursor.3x.html">pos_menu_cursor()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_393_14">Position_Cursor</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_mark.3x.html">menu_mark.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_29">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_402_14" href="terminal_interface-curses-menus__adb.htm#ref_441_14">Set_Mark</a></span> (<span class="symbol"><a name="ref_402_24" href="terminal_interface-curses-menus__adb.htm#ref_441_24">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                       <span class="symbol"><a name="ref_403_24" href="terminal_interface-curses-menus__adb.htm#ref_442_24">Mark</a></span> : String);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">set_menu_mark()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_402_14">Set_Mark</a>);

   <span class="comment"><em>--  <A NAME="AFU_30">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_408_14" href="terminal_interface-curses-menus__adb.htm#ref_456_14">Mark</a></span> (<span class="symbol"><a name="ref_408_20" href="terminal_interface-curses-menus__adb.htm#ref_456_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                   <span class="symbol"><a name="ref_409_20" href="terminal_interface-curses-menus__adb.htm#ref_457_20">Mark</a></span> : <b>out</b> String);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></em></span>

   <b>function</b>  <span class="symbol"><a name="ref_412_14" href="terminal_interface-curses-menus__adb.htm#ref_465_13">Mark</a></span> (<span class="symbol"><a name="ref_412_20" href="terminal_interface-curses-menus__adb.htm#ref_465_19">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> String;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_mark.3x.html">menu_mark()</A></em></span>
   <span class="comment"><em>--  Implemented as function</em></span>
   <b>pragma</b> Inline (Mark);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_attributes.3x.html">menu_attributes.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_31">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_422_14" href="terminal_interface-curses-menus__adb.htm#ref_474_14">Set_Foreground</a></span>
     (<span class="symbol"><a name="ref_423_7" href="terminal_interface-curses-menus__adb.htm#ref_475_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
      <span class="symbol"><a name="ref_424_7" href="terminal_interface-curses-menus__adb.htm#ref_476_7">Fore</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
      <span class="symbol"><a name="ref_425_7" href="terminal_interface-curses-menus__adb.htm#ref_477_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_fore()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_422_14">Set_Foreground</a>);

   <span class="comment"><em>--  <A NAME="AFU_32">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_430_14" href="terminal_interface-curses-menus__adb.htm#ref_490_14">Foreground</a></span> (<span class="symbol"><a name="ref_430_26" href="terminal_interface-curses-menus__adb.htm#ref_490_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                         <span class="symbol"><a name="ref_431_26" href="terminal_interface-curses-menus__adb.htm#ref_491_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></em></span>

   <span class="comment"><em>--  <A NAME="AFU_33">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_435_14" href="terminal_interface-curses-menus__adb.htm#ref_499_14">Foreground</a></span> (<span class="symbol"><a name="ref_435_26" href="terminal_interface-curses-menus__adb.htm#ref_499_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                         <span class="symbol"><a name="ref_436_26" href="terminal_interface-curses-menus__adb.htm#ref_500_26">Fore</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
                         <span class="symbol"><a name="ref_437_26" href="terminal_interface-curses-menus__adb.htm#ref_501_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_fore()</A></em></span>
   <b>pragma</b> Inline (Foreground);

   <span class="comment"><em>--  <A NAME="AFU_34">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_442_14" href="terminal_interface-curses-menus__adb.htm#ref_510_14">Set_Background</a></span>
     (<span class="symbol"><a name="ref_443_7" href="terminal_interface-curses-menus__adb.htm#ref_511_7">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
      <span class="symbol"><a name="ref_444_7" href="terminal_interface-curses-menus__adb.htm#ref_512_7">Back</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
      <span class="symbol"><a name="ref_445_7" href="terminal_interface-curses-menus__adb.htm#ref_513_7">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_back()</A></em></span>
   <b>pragma</b> Inline (Set_Background);

   <span class="comment"><em>--  <A NAME="AFU_35">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_450_14" href="terminal_interface-curses-menus__adb.htm#ref_526_14">Background</a></span> (<span class="symbol"><a name="ref_450_26" href="terminal_interface-curses-menus__adb.htm#ref_526_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                         <span class="symbol"><a name="ref_451_26" href="terminal_interface-curses-menus__adb.htm#ref_527_26">Back</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></em></span>
   <span class="comment"><em>--  <A NAME="AFU_36">|</A></em></span>

   <b>procedure</b> <span class="symbol"><a name="ref_455_14" href="terminal_interface-curses-menus__adb.htm#ref_535_14">Background</a></span> (<span class="symbol"><a name="ref_455_26" href="terminal_interface-curses-menus__adb.htm#ref_535_26">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                         <span class="symbol"><a name="ref_456_26" href="terminal_interface-curses-menus__adb.htm#ref_536_26">Back</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
                         <span class="symbol"><a name="ref_457_26" href="terminal_interface-curses-menus__adb.htm#ref_537_26">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_back()</A></em></span>
   <b>pragma</b> Inline (Background);

   <span class="comment"><em>--  <A NAME="AFU_37">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_462_14" href="terminal_interface-curses-menus__adb.htm#ref_546_14">Set_Grey</a></span>
     (<span class="symbol"><a name="ref_463_7" href="terminal_interface-curses-menus__adb.htm#ref_546_24">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
      <span class="symbol"><a name="ref_464_7" href="terminal_interface-curses-menus__adb.htm#ref_547_24">Grey</a></span>  : <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a> := <a href="terminal_interface-curses__ads.htm#ref_486_4">Normal_Video</a>;
      <span class="symbol"><a name="ref_465_7" href="terminal_interface-curses-menus__adb.htm#ref_548_24">Color</a></span> : <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a> := <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>'First);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_grey()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_462_14">Set_Grey</a>);

   <span class="comment"><em>--  <A NAME="AFU_38">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_470_14" href="terminal_interface-curses-menus__adb.htm#ref_562_14">Grey</a></span> (<span class="symbol"><a name="ref_470_20" href="terminal_interface-curses-menus__adb.htm#ref_562_20">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                   <span class="symbol"><a name="ref_471_20" href="terminal_interface-curses-menus__adb.htm#ref_563_20">Grey</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></em></span>

   <span class="comment"><em>--  <A NAME="AFU_39">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_475_14" href="terminal_interface-curses-menus__adb.htm#ref_571_14">Grey</a></span>
     (<span class="symbol"><a name="ref_476_7" href="terminal_interface-curses-menus__adb.htm#ref_571_20">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
      <span class="symbol"><a name="ref_477_7" href="terminal_interface-curses-menus__adb.htm#ref_572_20">Grey</a></span>  : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_418_9">Character_Attribute_Set</a>;
      <span class="symbol"><a name="ref_478_7" href="terminal_interface-curses-menus__adb.htm#ref_573_20">Color</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_410_9">Color_Pair</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_grey()</A></em></span>
   <b>pragma</b> Inline (Grey);

   <span class="comment"><em>--  <A NAME="AFU_40">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_483_14" href="terminal_interface-curses-menus__adb.htm#ref_582_14">Set_Pad_Character</a></span> (<span class="symbol"><a name="ref_483_33" href="terminal_interface-curses-menus__adb.htm#ref_582_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                                <span class="symbol"><a name="ref_484_33" href="terminal_interface-curses-menus__adb.htm#ref_583_33">Pad</a></span> : Character := Space);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">set_menu_pad()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_483_14">Set_Pad_Character</a>);

   <span class="comment"><em>--  <A NAME="AFU_41">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_489_14" href="terminal_interface-curses-menus__adb.htm#ref_593_14">Pad_Character</a></span> (<span class="symbol"><a name="ref_489_29" href="terminal_interface-curses-menus__adb.htm#ref_593_29">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                            <span class="symbol"><a name="ref_490_29" href="terminal_interface-curses-menus__adb.htm#ref_594_29">Pad</a></span> : <b>out</b> Character);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_attributes.3x.html">menu_pad()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_489_14">Pad_Character</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_spacing.3x.html">menu_spacing.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_42">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_499_14" href="terminal_interface-curses-menus__adb.htm#ref_602_14">Set_Spacing</a></span> (<span class="symbol"><a name="ref_499_27" href="terminal_interface-curses-menus__adb.htm#ref_602_27">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                          <span class="symbol"><a name="ref_500_27" href="terminal_interface-curses-menus__adb.htm#ref_603_27">Descr</a></span> : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0;
                          <span class="symbol"><a name="ref_501_27" href="terminal_interface-curses-menus__adb.htm#ref_604_27">Row</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>   := 0;
                          <span class="symbol"><a name="ref_502_27" href="terminal_interface-curses-menus__adb.htm#ref_605_27">Col</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a> := 0);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_spacing.3x.html">set_menu_spacing()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_499_14">Set_Spacing</a>);

   <span class="comment"><em>--  <A NAME="AFU_43">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_507_14" href="terminal_interface-curses-menus__adb.htm#ref_618_14">Spacing</a></span> (<span class="symbol"><a name="ref_507_23" href="terminal_interface-curses-menus__adb.htm#ref_618_23">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                      <span class="symbol"><a name="ref_508_23" href="terminal_interface-curses-menus__adb.htm#ref_619_23">Descr</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>;
                      <span class="symbol"><a name="ref_509_23" href="terminal_interface-curses-menus__adb.htm#ref_620_23">Row</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_59_9">Line_Position</a>;
                      <span class="symbol"><a name="ref_510_23" href="terminal_interface-curses-menus__adb.htm#ref_621_23">Col</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_60_9">Column_Position</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_spacing.3x.html">menu_spacing()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_507_14">Spacing</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_pattern.3x.html">menu_pattern.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_44">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_519_13" href="terminal_interface-curses-menus__adb.htm#ref_639_13">Set_Pattern</a></span> (<span class="symbol"><a name="ref_519_26" href="terminal_interface-curses-menus__adb.htm#ref_639_26">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                         <span class="symbol"><a name="ref_520_26" href="terminal_interface-curses-menus__adb.htm#ref_640_26">Text</a></span> : String) <b>return</b> Boolean;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_pattern.3x.html">set_menu_pattern()</A></em></span>
   <span class="comment"><em>--  Return TRUE if the pattern matches, FALSE otherwise</em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_519_13">Set_Pattern</a>);

   <span class="comment"><em>--  <A NAME="AFU_45">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_526_14" href="terminal_interface-curses-menus__adb.htm#ref_662_14">Pattern</a></span> (<span class="symbol"><a name="ref_526_23" href="terminal_interface-curses-menus__adb.htm#ref_662_23">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                      <span class="symbol"><a name="ref_527_23" href="terminal_interface-curses-menus__adb.htm#ref_663_23">Text</a></span> : <b>out</b> String);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_pattern.3x.html">menu_pattern()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_526_14">Pattern</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_format.3x.html">menu_format.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_46">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_536_14" href="terminal_interface-curses-menus__adb.htm#ref_671_14">Set_Format</a></span> (<span class="symbol"><a name="ref_536_26" href="terminal_interface-curses-menus__adb.htm#ref_671_26">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                         <span class="symbol"><a name="ref_537_26" href="terminal_interface-curses-menus__adb.htm#ref_672_26">Lines</a></span>   : <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
                         <span class="symbol"><a name="ref_538_26" href="terminal_interface-curses-menus__adb.htm#ref_673_26">Columns</a></span> : <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
   <span class="comment"><em>--  Not implemented: 0 argument for Lines or Columns;</em></span>
   <span class="comment"><em>--  instead use Format to get the current sizes</em></span>
   <span class="comment"><em>--      The  default  format  is  16  rows,  1  column.    Calling</em></span>
   <span class="comment"><em>--      set_menu_format  with a null menu pointer will change this</em></span>
   <span class="comment"><em>--      default.  A zero row or column argument to set_menu_format</em></span>
   <span class="comment"><em>--      is  interpreted  as  a  request  not to change the current</em></span>
   <span class="comment"><em>--      value.</em></span>
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_format.3x.html">set_menu_format()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_536_14">Set_Format</a>);

   <span class="comment"><em>--  <A NAME="AFU_47">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_550_14" href="terminal_interface-curses-menus__adb.htm#ref_687_14">Format</a></span> (<span class="symbol"><a name="ref_550_22" href="terminal_interface-curses-menus__adb.htm#ref_687_22">Men</a></span>     : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                     <span class="symbol"><a name="ref_551_22" href="terminal_interface-curses-menus__adb.htm#ref_688_22">Lines</a></span>   : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_62_12">Line_Count</a>;
                     <span class="symbol"><a name="ref_552_22" href="terminal_interface-curses-menus__adb.htm#ref_689_22">Columns</a></span> : <b>out</b> <a href="terminal_interface-curses__ads.htm#ref_64_12">Column_Count</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_format.3x.html">menu_format()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_550_14">Format</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_hook.3x.html">menu_hook.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <b>type</b> <span class="symbol"><a name="ref_560_9">Menu_Hook_Function</a></span> <b>is</b> <b>access</b> <b>procedure</b> (<span class="symbol"><a name="ref_560_49">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
   <b>pragma</b> Convention (C, <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);

   <span class="comment"><em>--  <A NAME="AFU_48">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_564_14" href="terminal_interface-curses-menus__adb.htm#ref_703_14">Set_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_564_34" href="terminal_interface-curses-menus__adb.htm#ref_703_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                                 <span class="symbol"><a name="ref_565_34" href="terminal_interface-curses-menus__adb.htm#ref_704_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_init()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_564_14">Set_Item_Init_Hook</a>);

   <span class="comment"><em>--  <A NAME="AFU_49">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_570_14" href="terminal_interface-curses-menus__adb.htm#ref_714_14">Set_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_570_34" href="terminal_interface-curses-menus__adb.htm#ref_714_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                                 <span class="symbol"><a name="ref_571_34" href="terminal_interface-curses-menus__adb.htm#ref_715_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_item_term()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_570_14">Set_Item_Term_Hook</a>);

   <span class="comment"><em>--  <A NAME="AFU_50">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_576_14" href="terminal_interface-curses-menus__adb.htm#ref_725_14">Set_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_576_34" href="terminal_interface-curses-menus__adb.htm#ref_725_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                                 <span class="symbol"><a name="ref_577_34" href="terminal_interface-curses-menus__adb.htm#ref_726_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_init()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_576_14">Set_Menu_Init_Hook</a>);

   <span class="comment"><em>--  <A NAME="AFU_51">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_582_14" href="terminal_interface-curses-menus__adb.htm#ref_736_14">Set_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_582_34" href="terminal_interface-curses-menus__adb.htm#ref_736_34">Men</a></span>  : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                                 <span class="symbol"><a name="ref_583_34" href="terminal_interface-curses-menus__adb.htm#ref_737_34">Proc</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">set_menu_term()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_582_14">Set_Menu_Term_Hook</a>);

   <span class="comment"><em>--  <A NAME="AFU_52">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_588_13" href="terminal_interface-curses-menus__adb.htm#ref_747_13">Get_Item_Init_Hook</a></span> (<span class="symbol"><a name="ref_588_33" href="terminal_interface-curses-menus__adb.htm#ref_747_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">item_init()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_588_13">Get_Item_Init_Hook</a>);

   <span class="comment"><em>--  <A NAME="AFU_53">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_593_13" href="terminal_interface-curses-menus__adb.htm#ref_755_13">Get_Item_Term_Hook</a></span> (<span class="symbol"><a name="ref_593_33" href="terminal_interface-curses-menus__adb.htm#ref_755_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">item_term()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_593_13">Get_Item_Term_Hook</a>);

   <span class="comment"><em>--  <A NAME="AFU_54">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_598_13" href="terminal_interface-curses-menus__adb.htm#ref_763_13">Get_Menu_Init_Hook</a></span> (<span class="symbol"><a name="ref_598_33" href="terminal_interface-curses-menus__adb.htm#ref_763_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_init()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_598_13">Get_Menu_Init_Hook</a>);

   <span class="comment"><em>--  <A NAME="AFU_55">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_603_13" href="terminal_interface-curses-menus__adb.htm#ref_771_13">Get_Menu_Term_Hook</a></span> (<span class="symbol"><a name="ref_603_33" href="terminal_interface-curses-menus__adb.htm#ref_771_33">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_560_9">Menu_Hook_Function</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_hook.3x.html">menu_term()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_603_13">Get_Menu_Term_Hook</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_items.3x.html">menu_items.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_56">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_612_14" href="terminal_interface-curses-menus__adb.htm#ref_779_14">Redefine</a></span> (<span class="symbol"><a name="ref_612_24" href="terminal_interface-curses-menus__adb.htm#ref_779_24">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                       <span class="symbol"><a name="ref_613_24" href="terminal_interface-curses-menus__adb.htm#ref_780_24">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">set_menu_items()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>);

   <b>procedure</b> <span class="symbol"><a name="ref_617_14">Set_Items</a></span> (<span class="symbol"><a name="ref_617_25">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                        <span class="symbol"><a name="ref_618_25">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_612_14">Redefine</a>;
   <span class="comment"><em>--  pragma Inline (Set_Items);</em></span>

   <span class="comment"><em>--  <A NAME="AFU_57">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_622_13" href="terminal_interface-curses-menus__adb.htm#ref_803_13">Items</a></span> (<span class="symbol"><a name="ref_622_20" href="terminal_interface-curses-menus__adb.htm#ref_803_20">Men</a></span>   : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                   <span class="symbol"><a name="ref_623_20" href="terminal_interface-curses-menus__adb.htm#ref_804_20">Index</a></span> : Positive) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">menu_items()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_622_13">Items</a>);

   <span class="comment"><em>--  <A NAME="AFU_58">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_628_13" href="terminal_interface-curses-menus__adb.htm#ref_795_13">Item_Count</a></span> (<span class="symbol"><a name="ref_628_25" href="terminal_interface-curses-menus__adb.htm#ref_795_25">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>) <b>return</b> Natural;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_items.3x.html">item_count()</A></em></span>
   <b>pragma</b> Inline (<a href="terminal_interface-curses-menus__ads.htm#ref_628_13">Item_Count</a>);

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_new.3x.html">menu_new.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <span class="comment"><em>--  <A NAME="AFU_59">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_637_13" href="terminal_interface-curses-menus__adb.htm#ref_822_13">Create</a></span> (<span class="symbol"><a name="ref_637_21" href="terminal_interface-curses-menus__adb.htm#ref_822_21">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_new.3x.html">new_menu()</A></em></span>
   <span class="comment"><em>--  Not inlined</em></span>

   <b>function</b> New_Menu (<span class="symbol"><a name="ref_641_23">Items</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_177_9">Item_Array_Access</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> <b>renames</b> <a href="terminal_interface-curses-menus__ads.htm#ref_637_13">Create</a>;

   <span class="comment"><em>--  <A NAME="AFU_60">|</A></em></span>
   <b>procedure</b> <span class="symbol"><a name="ref_644_14" href="terminal_interface-curses-menus__adb.htm#ref_841_14">Delete</a></span> (<span class="symbol"><a name="ref_644_22" href="terminal_interface-curses-menus__adb.htm#ref_841_22">Men</a></span> : <b>in</b> <b>out</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>);
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_new.3x.html">free_menu()</A></em></span>
   <span class="comment"><em>--  Reset Men to Null_Menu</em></span>
   <span class="comment"><em>--  Not inlined</em></span>

   <span class="comment"><em>--  |=====================================================================</em></span>
   <span class="comment"><em>--  | Man page <A HREF="../man/menu_driver.3x.html">menu_driver.3x</A></em></span>
   <span class="comment"><em>--  |=====================================================================</em></span>

   <b>type</b> <span class="symbol"><a name="ref_653_9">Driver_Result</a></span> <b>is</b> (<span class="symbol"><a name="ref_653_27">Menu_Ok</a></span>,
                          <span class="symbol"><a name="ref_654_27">Request_Denied</a></span>,
                          <span class="symbol"><a name="ref_655_27">Unknown_Request</a></span>,
                          <span class="symbol"><a name="ref_656_27">No_Match</a></span>);

   <span class="comment"><em>--  <A NAME="AFU_61">|</A></em></span>
   <b>function</b> <span class="symbol"><a name="ref_659_13" href="terminal_interface-curses-menus__adb.htm#ref_852_13">Driver</a></span> (<span class="symbol"><a name="ref_659_21" href="terminal_interface-curses-menus__adb.htm#ref_852_21">Men</a></span> : <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>;
                    <span class="symbol"><a name="ref_660_21" href="terminal_interface-curses-menus__adb.htm#ref_853_21">Key</a></span> : <a href="terminal_interface-curses__ads.htm#ref_67_9">Key_Code</a>) <b>return</b> <a href="terminal_interface-curses-menus__ads.htm#ref_653_9">Driver_Result</a>;
   <span class="comment"><em>--  AKA: <A HREF="../man/menu_driver.3x.html">menu_driver()</A></em></span>
   <span class="comment"><em>--  Driver is not inlined</em></span>

   <span class="comment"><em>--  <A NAME="AFU_62">|</A></em></span>
   <span class="comment"><em>--  Not Implemented: menu_request_name, menu_request_by_name</em></span>
<span class="comment"><em>-------------------------------------------------------------------------------</em></span>
<b>private</b>
   <b>type</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;
   <b>type</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a>   <b>is</b> <b>new</b> System.Storage_Elements.Integer_Address;

   <a href="terminal_interface-curses-menus__ads.htm#ref_58_4">Null_Item</a> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_52_9">Item</a> := 0;
   <a href="terminal_interface-curses-menus__ads.htm#ref_59_4">Null_Menu</a> : <b>constant</b> <a href="terminal_interface-curses-menus__ads.htm#ref_53_9">Menu</a> := 0;

<b>end</b> <a href="terminal_interface__ads.htm#ref_43_9">Terminal_Interface</a>.<a href="terminal_interface-curses__ads.htm#ref_48_28">Curses</a>.<a href="terminal_interface-curses-menus__ads.htm#ref_46_35">Menus</a>;
</pre></body></html>
